home *** CD-ROM | disk | FTP | other *** search
/ Workbench Design / WB Collection.iso / workbench werkzeuge / guis für programme / soxgui12 / amisox3.3 / doc / sox.guide (.txt) < prev    next >
Amigaguide Document  |  1996-04-07  |  25KB  |  477 lines

  1. @database "SOX"
  2. @master "SOX.guide"
  3. @remark $VER: SOX.guide Release 6 PL11 Amiga-3.2 (28.2.94)
  4. @remark Hand-created from SOX.txt
  5. @node Main "SOX(1)"
  6. Welcome to Amiga SOX, the Sound Exchange.
  7.      @{" NAME        " link "NAME"}
  8.      @{" SYNOPSIS    " link "SYNOPSIS"}
  9.      @{" DESCRIPTION " link "DESCRIPTION"}
  10.      @{" OPTIONS     " link "OPTIONS"}
  11.      @{" FILE TYPES  " link "FILE TYPES"}
  12.      @{" EFFECTS     " link "EFFECTS"}
  13.      @{" BUGS        " link "BUGS"}
  14.      @{" NOTICES     " link "NOTICES"}
  15.      @{" AMIGA INFO  " link "AMIGA INFO"}
  16. @endnode
  17. @node "NAME"
  18.      NAME
  19.           sox - SOund eXchange - universal sound sample translator
  20. @endnode
  21. @node "SYNOPSIS"
  22.      SYNOPSIS
  23.           sox infile outfile
  24.           sox infile outfile [ @{" effect " link "EFFECTS"} [ effect options ... ] ]
  25.           sox infile -e @{" effect " link "EFFECTS"} [ effect options ... ]
  26.           sox [@{" general options " link "OPTIONS"} ] [@{" format options " link "FILE TYPES"} ] ifile [  format
  27.                options  ] ofile [@{" effect " link "EFFECTS"}[ effect options ... ] ]
  28.           General options:  @{" [ -V ] " link "-_V"} @{" [ -v volume ] " link "-v"}
  29.           Format options:   @{" [ -t filetype ] " link "-t"} @{" [ -r rate ] " link "-r"} @{" [ -s/-u/-U/-A ] " link "suUA"}
  30.                             @{" [ -b/-w/-l/-f/-d/-D ] " link "bwlfdD"} @{" [ -c channels ] " link "-c"} @{" [ -x ] " link "-x"}
  31.           Effects:
  32.                @{" copy " link "copy"}
  33.                @{" rate " link "rate"}
  34.                @{" avg " link "avg"}
  35.                @{" stat " link "stat"}
  36.                @{" echo " link "echo"} delay volume [ delay volume ... ]
  37.                @{" vibro " link "vibro"} speed [ depth ]
  38.                @{" lowp " link "lowp"} center
  39.                @{" band " link "band"} [ -n ] center [ width ]
  40.                @{" highp " link "highp"} center
  41.                @{" reverse " link "reverse"}
  42. @endnode
  43. @node "DESCRIPTION"
  44.      DESCRIPTION
  45.           Sox translates sound files from one format to another,  pos-
  46.           sibly doing a sound effect.
  47. @endnode
  48. @node "OPTIONS"
  49.      OPTIONS
  50.           The option syntax is a little grotty, but in essence:
  51.                sox file.au file.voc
  52.           translates a sound sample in SUN Sparc  .AU  format  into  a
  53.           SoundBlaster .VOC file, while
  54.                sox -v 0.5 file.au -rate 12000 file.voc rate
  55.           does the same format translation but also lowers the  ampli-
  56.           tude by 1/2 and changes the sampling rate from 8000 hertz to
  57.           12000 hertz via the rate sound effect loop.
  58.           File type options:
  59.           @{" -t " link "-t"} <string>         File type specification
  60.           @{" -r " link "-r"} <integer>        Sampling rate specification
  61.           @{" -s/-u/-U/-A " link "suUA"}         Sample type (style) spec
  62.           @{" -b/-w/-l/-f/-d/-D " link "bwlfdD"}   Sample size spec
  63.           @{" -x " link "-x"}                  Word order flag
  64.           @{" -c " link "-c"} <integer>        Number of channels
  65.           General options:
  66.           @{" -e " link "-e"}                  Effect flag
  67.           @{" -v " link "-v"} <float>          Volume change
  68.           @{" -V " link "-_V"}                  Verbose processing notification flag
  69.           The input and output files may be standard input and output.
  70.           This  is specified by '-'.  The -t type option must be given
  71.           in this case, else sox will not know the format of the given
  72.           file.   The  -t,  -r,  -s/-u/-U/-A, -b/-w/-l/-f/-d/-D and -x
  73.           options refer to the input data when given before the  input
  74.           file name.  After, they refer to the output data.
  75.           If you don't give an output file name, sox  will  just  read
  76.           the  input  file.   This is useful for validating structured
  77.           file formats; the stat effect may also be used  via  the  -e
  78.           option.
  79. @endnode
  80. @node "-t"
  81.           -t filetype
  82.                     gives the type of the sound sample file.
  83. @endnode
  84. @node "-r"
  85.           -r rate   Give sample rate in Hertz of file.
  86. @endnode
  87. @node "suUA"
  88.           -s/-u/-U/-A
  89.                     The sample data is signed linear (2's complement),
  90.                     unsigned  linear,  U-law  (logarithmic),  or A-law
  91.                     (logarithmic).  U-law and A-law are the  U.S.  and
  92.                     international  standards for logarithmic telephone
  93.                     sound compression.
  94. @endnode
  95. @node "bwlfdD"
  96.           -b/-w/-l/-f/-d/-D
  97.                     The sample data is in bytes, 16-bit words,  32-bit
  98.                     longwords, 32-bit floats, 64-bit double floats, or
  99.                     80-bit IEEE floats.  Floats and double floats  are
  100.                     in native machine format.
  101. @endnode
  102. @node "-x"
  103.           -x        The sample data is in XINU  format;  that  is,  it
  104.                     comes  from a machine with the opposite word order
  105.                     than yours and must be swapped  according  to  the
  106.                     word-size  given  above.   Only  16-bit and 32-bit
  107.                     integer  data  may  be  swapped.    Machine-format
  108.                     floating-point  data is not portable.  IEEE floats
  109.                     are a fixed, portable format. ???
  110. @endnode
  111. @node "-c"
  112.           -c channels
  113.                     The number of sound channels  in  the  data  file.
  114.                     This  may be 1, 2, or 4; for mono, stereo, or quad
  115.                     sound data.
  116. @endnode
  117. @node "-e"
  118.           -e        after the input file allows you to avoid giving an
  119.                     output file and just name an effect.  This is only
  120.                     useful with the stat effect.
  121. @endnode
  122. @node "-v"
  123.           -v volume Change amplitude (floating point); less  than  1.0
  124.                     decreases,  greater  than 1.0 increases.  Note: we
  125.                     perceive  volume  logarithmically,  not  linearly.
  126.                     Note: see the stat effect.
  127. @endnode
  128. @node "-_V"
  129.           -V        Print a description of processing phases.   Useful
  130.                     for  figuring out exactly how sox is mangling your
  131.                     sound samples.
  132. @endnode
  133. @node "FILE TYPES"
  134.      FILE TYPES
  135.           Sox needs to know the formats of the input and output files.
  136.           File  formats which have headers are checked, if that header
  137.           doesn't seem right, the program exits  with  an  appropriate
  138.           message.  Currently, the raw (no header), IRCAM Sound Files,
  139.           Sound Blaster, SPARC .AU (w/header), Mac HCOM, PC/DOS  .SOU,
  140.           Sndtool,  and Sounder, NeXT .SND, Windows 3.1 RIFF/WAV, Tur-
  141.           tle Beach .SMP, and Apple/SGI AIFF and 8SVX formats are sup-
  142.           ported.
  143.           @{" .aiff " link ".aiff"}     AIFF files used on Apple IIc/IIgs, SGI, and Mac.
  144.           @{" .au " link ".au"}       SUN Microsystems AU files.
  145.           @{" .hcom " link ".hcom"}     Macintosh HCOM files.
  146.           @{" .raw " link ".raw"}      Raw files (no header).
  147.           @{" .ub, .sb, .uw, .sw, .ul " link ".ub"}
  148.                       Various shorthands for raw types.
  149.           @{" .sf " link ".sf"}       IRCAM Sound Files.
  150.           @{" .voc " link ".voc"}      Sound Blaster VOC files.
  151.           @{" .auto " link ".auto"}     ``Meta-type'' for auto-type-detect.
  152.           @{" .smp " link ".smp"}      Turtle Beach SampleVision files.
  153.           @{" .wav " link ".wav"}      Windows 3.1 .WAV RIFF files.
  154. @endnode
  155. @node ".aiff"
  156.           .aiff     AIFF files used on Apple IIc/IIgs and SGI.   Note:
  157.                     the  AIFF format supports only one SSND chunk.  It
  158.                     does not support multiple  sound  chunks,  or  the
  159.                     8SVX  musical instrument description format.  AIFF
  160.                     files are multimedia archives  and  and  can  have
  161.                     multiple audio and picture chunks.  You may need a
  162.                     separate archiver to work with them.
  163. @endnode
  164. @node ".au"
  165.           .au       SUN Microsystems AU files.  There  are  apparently
  166.                     many  types of .au files; DEC has invented its own
  167.                     with a different magic number and word order.  The
  168.                     .au  handler  can  read  these  files but will not
  169.                     write them.  Some .au files have valid AU  headers
  170.                     and some do not.  The latter are probably original
  171.                     SUN u-law 8000 hz samples.   These  can  be  dealt
  172.                     with using the .ul format (see below).
  173. @endnode
  174. @node ".hcom"
  175.           .hcom     Macintosh HCOM files.  These are (apparently)  Mac
  176.                     FSSD  files  with some variant of Huffman compres-
  177.                     sion.  The Macintosh has wacky  file  formats  and
  178.                     this  format handler apparently doesn't handle all
  179.                     the ones it should.   Mac  users  will  need  your
  180.                     usual  arsenal  of file converters to deal with an
  181.                     HCOM file under Unix or DOS.
  182. @endnode
  183. @node ".raw"
  184.           .raw      Raw files (no header).
  185.                     The sample rate, size (byte, word, etc), and style
  186.                     (signed,  unsigned,  etc.) of the sample file must
  187.                     be given.  The number of channels defaults to 1.
  188. @endnode
  189. @node ".ub"
  190.           .ub, .sb, .uw, .sw, .ul
  191.                     These are several suffices which serve as a short-
  192.                     hand  for  raw  files with a given size and style.
  193.                     Thus,  ub,  sb,  uw,  sw,  and  ul  correspond  to
  194.                     "unsigned  byte",  "signed byte", "unsigned word",
  195.                     "signed word", and "ulaw" (byte).  The sample rate
  196.                     defaults to 8000 hz if not explicitly set, and the
  197.                     number of channels  (as  always)  defaults  to  1.
  198.                     There are lots of Sparc samples floating around in
  199.                     u-law format with no header and fixed at a  sample
  200.                     rate   of  8000  hz.   (Certain  sound  management
  201.                     software cheerfully ignores  the  headers.)  Simi-
  202.                     larly,  most  Mac sound files are in unsigned byte
  203.                     format with a sample rate of 11025 or 22050 hz.
  204. @endnode
  205. @node ".sf"
  206.           .sf       IRCAM Sound Files.
  207.                     SoundFiles are used  by  academic  music  software
  208.                     such  as the CSound package, and the MixView sound
  209.                     sample editor.
  210. @endnode
  211. @node ".voc"
  212.           .voc      Sound Blaster VOC files.
  213.                     VOC  files  are  multi-part  and  contain  silence
  214.                     parts,  looping,  and  different  sample rates for
  215.                     different chunks.  On input, the silence parts are
  216.                     filled  out,  loops  are rejected, and sample data
  217.                     with a new sample rate is rejected.  Silence  with
  218.                     a  different  sample  rate  is generated appropri-
  219.                     ately.  On output, silence is  not  detected,  nor
  220.                     are impossible sample rates.
  221. @endnode
  222. @node ".auto"
  223.           .auto     This is a ``meta-type'': specifying this type  for
  224.                     an  input  file  triggers  some code that tries to
  225.                     guess the real type by looking for magic words  in
  226.                     the  header.   If  the  type can't be guessed, the
  227.                     program exits with an error  message.   The  input
  228.                     must be a plain file, not a pipe.  This type can't
  229.                     be used for output files.
  230. @endnode
  231. @node ".smp"
  232.           .smp      Turtle Beach SampleVision files.
  233.                     SMP files are for use with the PC-DOS package Sam-
  234.                     pleVision  by Turtle Beach Softworks. This package
  235.                     is for communication to several MIDI samplers. All
  236.                     sample   rates   are  supported  by  the  package,
  237.                     although not all are  supported  by  the  samplers
  238.                     themselves. Currently loop points are ignored.
  239. @endnode
  240. @node ".wav"
  241.           .wav      Windows 3.1 .WAV RIFF files.
  242.                     These appear to be very similar to IFF files,  but
  243.                     not  the same. They are the native sound file for-
  244.                     mat of Windows 3.1.  Obviously, Windows 3.1 is  of
  245.                     such  incredible importance to the computer indus-
  246.                     try that it just had to have its  own  sound  file
  247.                     format.
  248. @endnode
  249. @node "EFFECTS"
  250.      EFFECTS
  251.           Only one effect from the palette may be applied to  a  sound
  252.           sample.   To do multiple effects you'll need to run sox in a
  253.           pipeline.
  254.           @{" copy " link "copy"}                          Copy input to output (default).
  255.           @{" rate " link "rate"}                          Resample.
  256.           @{" avg " link "avg"}                           Mix 4 channels to 2, or 2 to 1.
  257.           @{" stat " link "stat"}                          Statistical check of input.
  258.           @{" echo " link "echo"} [ delay volume ...  ]    Add echoing to a sound sample.
  259.           @{" vibro " link "vibro"} speed  [ depth ]        Add vibrato.
  260.           @{" lowp " link "lowp"} center                   Apply a low-pass filter.
  261.           @{" band " link "band"} [ -n ] center [ width ]  Apply a band-pass filter.
  262.           @{" highp " link "highp"} center                  Apply a high-pass filter.
  263.           @{" reverse " link "reverse"}                       Reverse a soundfile.
  264.           Sox enforces certain effects.  If the two  files  have  dif-
  265.           ferent  sampling  rates, the requested effect must be one of
  266.           copy, or rate, If the two files have  different  numbers  of
  267.           channels, the avg effect must be requested.
  268. @endnode
  269. @node "copy"
  270.           copy                          Copy the  input  file  to  the
  271.                                         output   file.   This  is  the
  272.                                         default effect if  both  files
  273.                                         have  the  same sampling rate,
  274.                                         or the rates are "close".
  275. @endnode
  276. @node "rate"
  277.           rate                          Translate input sampling  rate
  278.                                         to  output  sampling  rate via
  279.                                         linear  interpolation  to  the
  280.                                         Least  Common  Multiple of the
  281.                                         two sampling rates.   This  is
  282.                                         the  default effect if the two
  283.                                         files have different  sampling
  284.                                         rates.    This   is  fast  but
  285.                                         noisy.
  286. @endnode
  287. @node "avg"
  288.           avg                           Mix 4- or 2-channel sound file
  289.                                         into  2-  or 1-channel file by
  290.                                         averaging the samples for dif-
  291.                                         ferent speakers.
  292. @endnode
  293. @node "stat"
  294.           stat                          Do a statistical check on  the
  295.                                         input  file, and print results
  296.                                         on the  standard  error  file.
  297.                                         stat   may   copy   the   file
  298.                                         untouched from input  to  out-
  299.                                         put,  if  you select an output
  300.                                         file. The "Volume Adjustment:"
  301.                                         field  in the statistics gives
  302.                                         you the  argument  to  the  -v
  303.                                         number  which  will  make  the
  304.                                         sample as loud as possible.
  305. @endnode
  306. @node "echo"
  307.           echo [ delay volume ...  ]    Add echoing to a sound sample.
  308.                                         Each  delay/volume  pair gives
  309.                                         the delay in seconds  and  the
  310.                                         volume  (relative  to  1.0) of
  311.                                         that echo.  If the volumes add
  312.                                         up to more than 1.0, the sound
  313.                                         will melt down instead of fad-
  314.                                         ing away.
  315. @endnode
  316. @node "vibro"
  317.           vibro speed  [ depth ]        Add  the  world-famous  Fender
  318.                                         Vibro-Champ  sound effect to a
  319.                                         sound sample by using  a  sine
  320.                                         wave   as   the  volume  knob.
  321.                                         Speed gives the Hertz value of
  322.                                         the  wave.  This must be under
  323.                                         30.  Depth  gives  the  amount
  324.                                         the  volume is cut into by the
  325.                                         sine wave, ranging 0.0 to  1.0
  326.                                         and defaulting to 0.5.
  327. @endnode
  328. @node "lowp"
  329.           lowp center                   Apply a low-pass filter.   The
  330.                                         frequency response drops loga-
  331.                                         rithmically with  center  fre-
  332.                                         quency  in  the  middle of the
  333.                                         drop.  The slope of the filter
  334.                                         is quite gentle.
  335. @endnode
  336. @node "band"
  337.           band [ -n ] center [ width ]  Apply a band-pass filter.  The
  338.                                         frequency response drops loga-
  339.                                         rithmically around the  center
  340.                                         frequency.   The  width  gives
  341.                                         the slope of  the  drop.   The
  342.                                         frequencies  at center + width
  343.                                         and center  -  width  will  be
  344.                                         half  of their original ampli-
  345.                                         tudes.   Band  defaults  to  a
  346.                                         mode  oriented to pitched sig-
  347.                                         nals, i.e. voice, singing,  or
  348.                                         instrumental  music.   The  -n
  349.                                         (for noise)  option  uses  the
  350.                                         alternate  mode for un-pitched
  351.                                         signals.    Band    introduces
  352.                                         noise  in  the  shape  of  the
  353.                                         filter, i.e.  peaking  at  the
  354.                                         center  frequency and settling
  355.                                         around it.
  356. @endnode
  357. @node "highp"
  358.           highp center                  Apply a high-pass filter.  See
  359.                                         the lowp effect for more info.
  360. @endnode
  361. @node "reverse"
  362.           reverse                       Reverse the sample sequence in
  363.                                         a soundfile, so that the sound
  364.                                         plays "backwards".
  365. @endnode
  366. @node "BUGS"
  367.      BUGS
  368.           The syntax is horrific.  It's very  tempting  to  include  a
  369.           default  system  that  allows  an effect name as the program
  370.           name and just pipes a sound sample from  standard  input  to
  371.           standard  output,  but  the  problem of inputting the sample
  372.           rates makes this unworkable.
  373. @endnode
  374. @node "NOTICES"
  375.      NOTICES
  376.           The echoplex effect is Copyright (C) 1989 by Jef Poskanzer.
  377.           Permission  to  use,  copy,  modify,  and  distribute   this
  378.           software  and  its documentation for any purpose and without
  379.           fee is hereby granted, provided  that  the  above  copyright
  380.           notice  appear  in  all  copies and that both that copyright
  381.           notice and this permission notice appear in supporting docu-
  382.           mentation.   This  software  is  provided  "as  is"  without
  383.           express or implied warranty.
  384. @endnode
  385. @node "AMIGA INFO"
  386.      AMIGA INFO
  387.           As compiled under SAS/C v6, SOX appears to work identically
  388.           to the Unix version.  Supplied in this archive are versions
  389.           of SOX for 68000, 68020, 68881, and 68020+68881.  All four
  390.           versions contain AmigaDOS version strings to help identify
  391.           which one you're using.
  392.           I received no notification of the release of patchlevels 10
  393.           and 11, so this was all on my own; I discovered the release
  394.           myself and have made it Amiga-compilable.  It seems to work.
  395.           Because changes to the source were slightly more complex this
  396.           time, I've supplied full source code.  This source should
  397.           still compile fine on any other platform, since my changes
  398.           were only to the Amiga Makefile, files used only by the Amiga
  399.           Makefile, or were enclosed inside preprocessor conditionals
  400.           to filter out Amiga stuff on non-Amigas.
  401.           NOTE (see below): This .guide file is not totally accurate;
  402.           except for these end comments, it is identical to the Amiga
  403.           SOX 3.1 release.  I am not very into SOX any more, so I'm
  404.           not very into rewriting its documentation either.  I will
  405.           continue to port SOX, but I will likely drop the .guides
  406.           in the future since it's not easy to convert from Unix-style
  407.           manuals.
  408.           The SOX source code is maintained by Lance Norskog, with
  409.           contributions from many others.  Amiga ports (pl5, pl6) and
  410.           modifications (pl7-9, 11) were performed by David Champion.
  411.           My e-mail address is dgc3@midway.uchicago.edu; please send
  412.           any comments, bug reports, etc. to this address.  If they
  413.           are Amiga-only problems, I will handle it myself and supply
  414.           necessary patches or recompiled binaries.  If they are
  415.           problems with SOX as a whole, I will forward the report(s)
  416.           to the maintenance group.
  417.           The part of the README file that says that the Amiga port
  418.           was "done against old versions of SOX" is not true.  This
  419.           release of Amiga SOX was made directly from the
  420.           generic/Unix release 6, pl11 distribution.
  421.           Note that in order to use pipes with Amiga SOX, you must
  422.           have a true piping shell such as Csh or WShell.  The native
  423.           PIPE: device is not okay.  Matt Dillon's FIFO: will work,
  424.           however.
  425.           This AmigaGuide file is not intended to be nice.  For the
  426.           most part, it's simply a HyperText-ization of the file
  427.           'sox.txt'.  Also, it has not been updated to conform to
  428.           the pl11 man page, since doing so is a pain and I'm not
  429.           all that interested in this program anymore.
  430.           @{" CHANGES " link "CHANGES"} since last version
  431.           @{" MANIFEST " link "MANIFEST"}
  432. @endnode
  433. @node CHANGES
  434.           With release 3.1, I decided to compile versions for the
  435.           68020 and 68000 instead of the '030 and '000.  The
  436.           performance ratio of an '020 to a '000 is better than the
  437.           performance ratio of the '030 to an '020, and not much less
  438.           than '030 to '000.  Essentially, '030 users lose little by
  439.           using an '020 binary, but '020 users gain much by not using
  440.           the '000 version.  This solution, then, maximizes the
  441.           benefit distribution.
  442.           Changes from patchlevel 8 to patchlevel 9 include:
  443.           - new high-pass filter
  444.           - modified WAVE handler to accept RIFF's optional properties
  445.           - miscellaneous fixes elsewhere
  446.           Changes from pl 9 to pl 11 include:
  447.           - Sun ADPCM compress u-law support
  448.           - Other stuff.  I haven't really looked.
  449. @endnode
  450. @node MANIFEST
  451. Contained in this archive are the following:
  452.     bin/csh/*2*.sh        Amiga Csh shell scripts for specific
  453.                 conversions.
  454.     bin/csh/soxaliases.sh    Amiga Csh aliases for specific conversions.
  455.     bin/dos/*2*        AmigaShell scripts for specific
  456.                 conversions.
  457.     bin/sox            Sound Exchange, runs on any Amiga.
  458.     bin/sox020        Sound Exchange for 68020 machines.
  459.     bin/sox881        Sound Exchange for Amigas with 68881/68882
  460.                             floating-point processors.
  461.     bin/sox020881        Sound Exchange for 68020/6888[12] Amigas.
  462.     dist/*            Standard multi-platform distribution plus
  463.                 Amiga fixes which are NOT yet in the
  464.                 distribution.
  465.     doc/CHEATS        Original Unix CHEATS list.
  466.     doc/README        Original Unix README.
  467.     doc/sox.guide        AmigaGuide documentation.
  468.     doc/soxscripts.doc    Information on the supplied shell scripts.
  469.     doc/sox.doc        ASCII documentation.
  470.     doc/st.doc        ASCII documentation for libst.
  471.     doc/TIPS        Original Unix TIPS help file.
  472.     doc/TODO        Original Unix TODO file.
  473.     Information specific to the Amiga version is contained at the end of
  474.     the AmigaGuide document 'sox.guide'.
  475.     --dgc, 28 Feb 1994
  476. @endnode
  477.